import pandas as pd


# 假设df是从CSV文件加载的DataFrame
df = pd.read_csv('911.csv')

# 提取地区（'addr'字段中'&'前的部分）
def extract_district(addr):
    parts = addr.split('&')
    return parts[0] if '&' in addr else addr


df['district'] = df['addr'].apply(extract_district)

# 提取类型（从'title'字段）
cate_list = df['title'].str.split(':').str[0].unique()

# 使用groupby和size()来计算每个地区和类型的电话量
grouped = df.groupby(['district', 'title']).size().reset_index(name='count')

pivot_table = grouped.pivot(index='district', columns='title', values='count').fillna(0)

# 打印结果
print(pivot_table)